<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Programmer (hardware)</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Programmer_(hardware)"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Programmer_hardware rootpage-Programmer_hardware skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Programmer (hardware)</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<p>In the context of <a href="Installation_(computer_programs)" title="Installation (computer programs)">installing</a> <a href="Firmware" title="Firmware">firmware</a> onto a device, a <b>programmer</b>, <b>device programmer</b>, <b>chip programmer</b>, <b><a href="Programmable_read-only_memory" class="mw-redirect" title="Programmable read-only memory">device burner</a></b>,<sup id="cite_ref-Muller_2003_1-0" class="reference"><a href="#cite_note-Muller_2003-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: 364">: 364 </span></sup> or <b>PROM writer</b><sup id="cite_ref-Cressler_2017_2-0" class="reference"><a href="#cite_note-Cressler_2017-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> is a device that writes, a.k.a. burns, <a href="Firmware" title="Firmware">firmware</a> to a target device's <a href="Non-volatile_memory" title="Non-volatile memory">non-volatile memory</a>.<sup id="cite_ref-Czerwinski_2013_3-0" class="reference"><a href="#cite_note-Czerwinski_2013-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: 3">: 3 </span></sup>
</p><p>Typically, the target device memory is one of the following types: <a href="Programmable_read-only_memory" class="mw-redirect" title="Programmable read-only memory">PROM</a>, <a href="EPROM" title="EPROM">EPROM</a>, <a href="EEPROM" title="EEPROM">EEPROM</a>, <a href="Flash_memory" title="Flash memory">Flash memory</a>, <a href="MultiMediaCard#eMMC" title="MultiMediaCard">eMMC</a>, <a href="Magnetoresistive_random-access_memory" class="mw-redirect" title="Magnetoresistive random-access memory">MRAM</a>, <a href="Ferroelectric_RAM" title="Ferroelectric RAM">FeRAM</a>, <a href="Non-volatile_random-access_memory" title="Non-volatile random-access memory">NVRAM</a>, <a href="Programmable_logic_device" title="Programmable logic device">PLD</a>, <a href="Programmable_logic_array" title="Programmable logic array">PLA</a>, <a href="Programmable_Array_Logic" title="Programmable Array Logic">PAL</a>, <a href="Generic_array_logic" class="mw-redirect" title="Generic array logic">GAL</a>, <a href="Complex_programmable_logic_device" title="Complex programmable logic device">CPLD</a>, <a href="Field_Programmable_Gate_Array" class="mw-redirect" title="Field Programmable Gate Array">FPGA</a>.
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="Connection">Connection</h2></div>
<p>Generally, a programmer connects to a device in one of two ways.
</p>
<div class="mw-heading mw-heading3"><h3 id="Insertion">Insertion</h3></div>
<p>In some cases, the target device is inserted into a socket (usually <a href="Zero_insertion_force" title="Zero insertion force">ZIF</a>) on the programmer.<sup id="cite_ref-Mazidi_2017_4-0" class="reference"><a href="#cite_note-Mazidi_2017-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: 642, pdf15">: 642, pdf15 </span></sup> If the device is not a standard <a href="Dual_in-line_package" title="Dual in-line package"><i>DIP packaging</i></a>, a plug-in adapter board, which converts the <a href="Footprint_(electronics)" title="Footprint (electronics)">footprint</a> with another socket, is used.<sup id="cite_ref-Edward_2006_5-0" class="reference"><a href="#cite_note-Edward_2006-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: 58">: 58 </span></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Cable_&_port">Cable & port</h3></div>
<p>In some cases, a programmer connects to a device via a cable to a connection port on the device. This is sometimes called <i>on-board programming</i>, <i>in-circuit programming</i>, or <i><a href="In-system_programming" title="In-system programming">in-system programming</a></i>.<sup id="cite_ref-IEEE-2532_6-0" class="reference"><a href="#cite_note-IEEE-2532-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-IEEE_1532_by_agilent_7-0" class="reference"><a href="#cite_note-IEEE_1532_by_agilent-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Jacobson_2012_8-0" class="reference"><a href="#cite_note-Jacobson_2012-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Transfer">Transfer</h2></div>
<p>Data is transferred from the programmer to the device as signals via connecting pins.
</p><p>Some devices have a serial interface<sup id="cite_ref-Ong_2001_9-0" class="reference"><a href="#cite_note-Ong_2001-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: 232, pdf3">: 232, pdf3 </span></sup>
for receiving data (including <a href="JTAG" title="JTAG">JTAG</a> interface).<sup id="cite_ref-Mazidi_2017_4-1" class="reference"><a href="#cite_note-Mazidi_2017-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: 642, pdf15">: 642, pdf15 </span></sup>
Other devices communicate on parallel pins, followed by a programming pulse with a higher voltage for programming the data into the device.<sup id="cite_ref-Ravichandran_2001_10-0" class="reference"><a href="#cite_note-Ravichandran_2001-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: 125">: 125 </span></sup>
</p><p>Usually, a programmer is controlled via a connected <a href="Personal_computer" title="Personal computer">personal computer</a> through a parallel port,<sup id="cite_ref-Muller_2003_1-1" class="reference"><a href="#cite_note-Muller_2003-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: 364">: 364 </span></sup>
<a href="USB" title="USB">USB</a> port,<sup id="cite_ref-Review_TL866CS_11-0" class="reference"><a href="#cite_note-Review_TL866CS-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup>
or <a href="Local_area_network" title="Local area network">LAN</a> interface.
A <a href="Computer_program" title="Computer program">program</a> on the controlling computer interacts with the programmer to perform operations such as configure install parameters and program the device,<sup id="cite_ref-Muller_2003_1-2" class="reference"><a href="#cite_note-Muller_2003-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: 364">: 364 </span></sup>
<sup id="cite_ref-IVF_1995_12-0" class="reference"><a href="#cite_note-IVF_1995-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: 430">: 430 </span></sup> <sup id="cite_ref-YouTube-HowTo_13-0" class="reference"><a href="#cite_note-YouTube-HowTo-13"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Minimum_need_to_know_14-0" class="reference"><a href="#cite_note-Minimum_need_to_know-14"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Types">Types</h2></div>
<p>There are four general types of programmers:
</p>
<ol><li><b>Automated programmers</b> often have multiple programming sites/sockets<sup id="cite_ref-gang_by_Oxford_Dict_15-0" class="reference"><a href="#cite_note-gang_by_Oxford_Dict-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup> for mass production.<sup id="cite_ref-Mazidi_2017_4-2" class="reference"><a href="#cite_note-Mazidi_2017-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> Sometimes used with robotic pick and place handlers with on-board sites to support high volume and complex output such as laser marking, 3D inspection, tape input/output, etc.</li>
<li><b>Development programmers</b> usually have a single programming site; used for first article development and small-series production.<sup id="cite_ref-MiniPro_TL866_Universal_Programmer_Review_16-0" class="reference"><a href="#cite_note-MiniPro_TL866_Universal_Programmer_Review-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup></li>
<li><b>Pocket programmers</b> for development and field service.<sup id="cite_ref-MiniPro_TL866_Universal_Programmer_Review_16-1" class="reference"><a href="#cite_note-MiniPro_TL866_Universal_Programmer_Review-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Google_Search_Field-service_17-0" class="reference"><a href="#cite_note-Google_Search_Field-service-17"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup></li>
<li><b>Specialized programmers</b> for certain circuit types only, such as <a href="Field-programmable_gate_array" title="Field-programmable gate array">FPGA</a>,<sup id="cite_ref-FPGA_Programmer_18-0" class="reference"><a href="#cite_note-FPGA_Programmer-18"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup> <a href="Microcontroller" title="Microcontroller">microcontroller</a>,<sup id="cite_ref-Mazidi_2017_4-3" class="reference"><a href="#cite_note-Mazidi_2017-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: 642, pdf15">: 642, pdf15 </span></sup> and <a href="EEPROM" title="EEPROM">EEPROM</a> programmers.<sup id="cite_ref-YouTube-HowTo_13-1" class="reference"><a href="#cite_note-YouTube-HowTo-13"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup></li></ol>
<div class="mw-heading mw-heading2"><h2 id="History">History</h2></div>
<p>Regarding old PROM programmers, as the many programmable devices have different voltage requirements, every pin driver must be able to apply different voltages in a range of 0–25 Volts.<sup id="cite_ref-Godse_2008_19-0" class="reference"><a href="#cite_note-Godse_2008-19"><span class="cite-bracket">[</span>19<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: 651">: 651 </span></sup><sup id="cite_ref-Ball_2002_20-0" class="reference"><a href="#cite_note-Ball_2002-20"><span class="cite-bracket">[</span>20<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: 40">: 40 </span></sup>
But according to the progress of memory device technology, recent flash memory programmers do not need high voltages.<sup id="cite_ref-Choi_2009_21-0" class="reference"><a href="#cite_note-Choi_2009-21"><span class="cite-bracket">[</span>21<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-EETIMES_2002_22-0" class="reference"><a href="#cite_note-EETIMES_2002-22"><span class="cite-bracket">[</span>22<span class="cite-bracket">]</span></a></sup>
</p><p>In the early days of <a href="Computing" title="Computing">computing</a>, <a href="Booting" title="Booting">booting</a> mechanism was a mechanical devices usually consisted of switches and <a href="Light-emitting_diode" title="Light-emitting diode">LEDs</a>. It means the <i>programmer</i> was not an equipment but a human, who entered <a href="Machine_code" title="Machine code">machine codes</a> one by one, by setting the switches in a series of "on" and "off" positions. These positions of switches corresponded to the machine codes, similar to today's <a href="Assembly_language" title="Assembly language">assembly language</a>.<sup id="cite_ref-DuCastel_2008_23-0" class="reference"><a href="#cite_note-DuCastel_2008-23"><span class="cite-bracket">[</span>23<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: 261–262">: 261–262 </span></sup><sup id="cite_ref-PDP8_24-0" class="reference"><a href="#cite_note-PDP8-24"><span class="cite-bracket">[</span>24<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Nova3_25-0" class="reference"><a href="#cite_note-Nova3-25"><span class="cite-bracket">[</span>25<span class="cite-bracket">]</span></a></sup>
Nowadays, <a href="EEPROM" title="EEPROM">EEPROMs</a> are used for <a href="Bootstrapping" title="Bootstrapping">bootstrapping</a> mechanism as <a href="BIOS" title="BIOS">BIOS</a>, and no need to operate mechanical switches for programming.<sup id="cite_ref-Goel_2010_26-0" class="reference"><a href="#cite_note-Goel_2010-26"><span class="cite-bracket">[</span>26<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: 45">: 45 </span></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Manufacturers">Manufacturers</h2></div>
<p>For each vendor's web site, refer to <a href="#External_links">"External links"</a> section.
</p>
<ul><li>Batronix GmbH & Co. KG</li>
<li>BPM Microsystems</li>
<li>Conitec Datasystems</li>
<li>Data I/O Corporation</li>
<li>DediProg Technology Co., Ltd</li>
<li>Elnec s.r.o</li>
<li>Elprosys Sp. z o.o.</li>
<li>halec</li>
<li>Hi-Lo System Research</li>
<li>MCUmall Electronics Inc.</li>
<li>Minato Holdings</li>
<li>Phyton, Inc.</li>
<li>Xeltek Inc.</li></ul>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<ul><li><a href="Off-line_programming_(robotics)" title="Off-line programming (robotics)">Off-line programming</a></li>
<li><a href="In-system_programming" title="In-system programming">In-system programming</a></li>
<li><a href="Debug_port" title="Debug port">Debug port</a></li>
<li><a href="JTAG" title="JTAG">JTAG interface</a></li>
<li><a href="Common_Flash_Memory_Interface" title="Common Flash Memory Interface">Common Flash Memory Interface</a></li>
<li><a href="Open_NAND_Flash_Interface_Working_Group" title="Open NAND Flash Interface Working Group">Open NAND Flash Interface Working Group</a></li>
<li><a href="Atmel_AVR" class="mw-redirect" title="Atmel AVR">Atmel AVR#Programming interfaces</a></li>
<li><a href="PIC_microcontroller" class="mw-redirect" title="PIC microcontroller">PIC microcontroller#Device programmers</a></li>
<li><a href="Intel_HEX" title="Intel HEX">Intel HEX</a> – ASCII file format</li>
<li><a href="SREC_(file_format)" title="SREC (file format)">SREC</a> – ASCII file format</li>
<li><a href="Executable_and_Linkable_Format" title="Executable and Linkable Format">ELF</a> – Binary file format</li>
<li><a href="COFF" title="COFF">COFF</a> – Binary file format</li>
<li><a href="Hardware_description_language" title="Hardware description language">Hardware description language</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */
.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}
/* end https://en.wikipedia.org/ */
</style><div class="reflist">
<div class="mw-references-wrap mw-references-columns"><ol class="references">
<li id="cite_note-Muller_2003-1"><span class="mw-cite-backlink">^ <a href="#cite_ref-Muller_2003_1-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Muller_2003_1-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-Muller_2003_1-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text">
<style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */
.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}
/* end https://en.wikipedia.org/ */
</style><cite id="CITEREFMueller2003" class="citation book cs1">Mueller, Scott (2003). <span class="id-lock-registration" title="Free registration required"><a rel="nofollow" class="external text" href="https://archive.org/details/upgradingrepairi00mue_qq3"><i>Upgrading and Repairing PCs</i></a></span>. Que Publishing. p. <a rel="nofollow" class="external text" href="https://archive.org/details/upgradingrepairi00mue_qq3/page/364">364</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>9780789727459</bdi>. <q>PROM programmer PC transfer.</q></cite></span>
</li>
<li id="cite_note-Cressler_2017-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-Cressler_2017_2-0">^</a></b></span> <span class="reference-text">
<cite id="CITEREFCressler2017" class="citation book cs1">Cressler, John D. (2017). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=i-5HDwAAQBAJ&q=PROM+writer&pg=SA6-PA17-IA1"><i>Silicon Earth: Introduction to Microelectronics and Nanotechnology, Second Edition</i></a>. CRC Press. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>9781351830201</bdi>.</cite></span>
</li>
<li id="cite_note-Czerwinski_2013-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-Czerwinski_2013_3-0">^</a></b></span> <span class="reference-text">
<cite id="CITEREFCzerwinskiKania2013" class="citation book cs1">Czerwinski, Robert; Kania, Dariusz (2013). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=SVBEAAAAQBAJ&q=programmable+devices&pg=PA3"><i>Finite State Machine Logic Synthesis for Complex Programmable Logic Devices</i></a>. Springer Science & Business Media. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>9783642361661</bdi>.</cite></span>
</li>
<li id="cite_note-Mazidi_2017-4"><span class="mw-cite-backlink">^ <a href="#cite_ref-Mazidi_2017_4-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Mazidi_2017_4-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-Mazidi_2017_4-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-Mazidi_2017_4-3"><sup><i><b>d</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFMazidiNaimiNaimi2011" class="citation book cs1">Mazidi, Muhammad Ali; Naimi, Sarmad; Naimi, Sepehr (2011). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200215060436/http://www.microdigitaled.com/AVR/Articles/AVR_v1_online.pdf"><i>The AVR microcontroller and embedded systems : using Assembly and C</i></a> <span class="cs1-format">(PDF)</span>. Upper Saddle River, N.J.: Prentice Hall. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>9780138003319</bdi>. Archived from <a rel="nofollow" class="external text" href="http://www.microdigitaled.com/AVR/Articles/AVR_v1_online.pdf">the original</a> <span class="cs1-format">(PDF)</span> on 2020-02-15<span class="reference-accessdate">. Retrieved <span class="nowrap">2018-03-16</span></span>.</cite></span>
</li>
<li id="cite_note-Edward_2006-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-Edward_2006_5-0">^</a></b></span> <span class="reference-text">
<cite id="CITEREFEdwards2006" class="citation book cs1">Edwards, Lewin (2006). <a rel="nofollow" class="external text" href="https://archive.org/details/pdfy-MKFMCCNbqENoR3Ft"><i>So You Wanna Be an Embedded Engineer: The Guide to Embedded Engineering, From Consultancy to the Corporate Ladder</i></a>. Elsevier. p. <a rel="nofollow" class="external text" href="https://archive.org/details/pdfy-MKFMCCNbqENoR3Ft/page/n66">58</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>9780080498157</bdi>. <q>plug-in adapters DIP packaging.</q></cite></span>
</li>
<li id="cite_note-IEEE-2532-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-IEEE-2532_6-0">^</a></b></span> <span class="reference-text">
<cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://standards.ieee.org/ieee/1532/3366/">"IEEE 1532-2002 - IEEE Standard for In-System Configuration of Programmable Devices"</a>. <i><a href="IEEE" class="mw-redirect" title="IEEE">IEEE</a></i>.</cite></span>
</li>
<li id="cite_note-IEEE_1532_by_agilent-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-IEEE_1532_by_agilent_7-0">^</a></b></span> <span class="reference-text">
<cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.keysight.com/main/editorial.jspx?&ckey=2052199">"What is the IEEE 1532 Standard?"</a>. Keysight Technologies.</cite></span>
</li>
<li id="cite_note-Jacobson_2012-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-Jacobson_2012_8-0">^</a></b></span> <span class="reference-text">
<cite id="CITEREFJacobson2012" class="citation book cs1">Jacobson, Neil G. (2012). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=H53aBwAAQBAJ&q=programmer&pg=PA135"><i>The In-System Configuration Handbook:: A Designer's Guide to ISC</i></a>. Springer Science & Business Media. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>9781461504894</bdi>.</cite></span>
</li>
<li id="cite_note-Ong_2001-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-Ong_2001_9-0">^</a></b></span> <span class="reference-text">
<cite id="CITEREFOngPont2001" class="citation book cs1">Ong, Royan H. L.; Pont, Michael J. (25 April 2001). <a rel="nofollow" class="external text" href="https://www.researchgate.net/publication/221656717">"Empirical comparison of software-based error detection and correction techniques for embedded systems"</a>. <i>Proceedings of the ninth international symposium on Hardware/Software codesign - CODES '01</i>. ACM. pp. <span class="nowrap">230–</span>235. <a href="CiteSeerX_(identifier)" class="mw-redirect" title="CiteSeerX (identifier)">CiteSeerX</a> <span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.543.9943">10.1.1.543.9943</a></span>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F371636.371739">10.1145/371636.371739</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-1581133646</bdi>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:15929440">15929440</a>.</cite></span>
</li>
<li id="cite_note-Ravichandran_2001-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-Ravichandran_2001_10-0">^</a></b></span> <span class="reference-text">
<cite id="CITEREFRavichandran2001" class="citation book cs1">Ravichandran, D. (2001). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=EHNOHAjXdQcC&q=PROM+programmer&pg=PA125"><i>Introduction To Computers And Communication</i></a>. Tata McGraw-Hill Education. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>9780070435650</bdi>.</cite></span>
</li>
<li id="cite_note-Review_TL866CS-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-Review_TL866CS_11-0">^</a></b></span> <span class="reference-text">
<cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://goughlui.com/2016/04/22/review-xg-autoelectric-tl866cs-minipro-universal-usb-programmer/">"Review: XG autoelectric TL866CS MiniPro Universal USB Programmer"</a>. <i>Gough's Tech Zone</i>. 22 April 2016.</cite></span>
</li>
<li id="cite_note-IVF_1995-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-IVF_1995_12-0">^</a></b></span> <span class="reference-text">
<cite id="CITEREFInternational_Validation_Forum1995" class="citation book cs1">International Validation Forum (1995). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=a55oaroHFI8C&q=PROM+programmer+transferring&pg=PA430"><i>Validation Compliance Annual: 1995</i></a>. CRC Press. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>9780824794590</bdi>.</cite></span>
</li>
<li id="cite_note-YouTube-HowTo-13"><span class="mw-cite-backlink">^ <a href="#cite_ref-YouTube-HowTo_13-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-YouTube-HowTo_13-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text">
<cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.youtube.com/watch?v=vUDP1XTmF9A">"How to Read, Erase, & Write EProm EEProm Chips Electronic Fuel injection DIY Tuning GQ-4X Programmer"</a>. <i><a href="YouTube" title="YouTube">YouTube</a></i>. 2 May 2014.</cite></span>
</li>
<li id="cite_note-Minimum_need_to_know-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-Minimum_need_to_know_14-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.classic-computers.org.nz/blog/2012-10-21-eproms.htm">"EPROMS: The minimum you need to know to burn your own"</a>. <i>www.classic-computers.org.nz</i>.</cite></span>
</li>
<li id="cite_note-gang_by_Oxford_Dict-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-gang_by_Oxford_Dict_15-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20180317102217/https://en.oxforddictionaries.com/definition/gang">"gang | Definition of gang in English by Oxford Dictionaries"</a>. <i>Oxford Dictionaries | English</i>. Archived from <a rel="nofollow" class="external text" href="https://en.oxforddictionaries.com/definition/gang">the original</a> on March 17, 2018.</cite></span>
</li>
<li id="cite_note-MiniPro_TL866_Universal_Programmer_Review-16"><span class="mw-cite-backlink">^ <a href="#cite_ref-MiniPro_TL866_Universal_Programmer_Review_16-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-MiniPro_TL866_Universal_Programmer_Review_16-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text">
<cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.eevblog.com/forum/blog/eevblog-411-minipro-tl866-universal-programmer-review/">"EEVblog #411 - MiniPro TL866 Universal Programmer Review - Page 1"</a>. <i>www.eevblog.com</i>.</cite></span>
</li>
<li id="cite_note-Google_Search_Field-service-17"><span class="mw-cite-backlink"><b><a href="#cite_ref-Google_Search_Field-service_17-0">^</a></b></span> <span class="reference-text">
<cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.google.com/search?q=EPROM+programmer+for+field+service">"EPROM programmer for field service - Google Search"</a>. <i>www.google.com</i>.</cite></span>
</li>
<li id="cite_note-FPGA_Programmer-18"><span class="mw-cite-backlink"><b><a href="#cite_ref-FPGA_Programmer_18-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFPangMembrey2016" class="citation book cs1">Pang, Aiken; Membrey, Peter (2016). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=X4fJDQAAQBAJ&q=programmer&pg=PA305"><i>Beginning FPGA: Programming Metal: Your brain on hardware</i></a>. Apress. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>9781430262480</bdi>.</cite></span>
</li>
<li id="cite_note-Godse_2008-19"><span class="mw-cite-backlink"><b><a href="#cite_ref-Godse_2008_19-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFGodseGodse2008" class="citation book cs1">Godse, Atul P.; Godse, Deepali A. (2008). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=F6Vor58f9FYC&q=PROM+programmer+25V&pg=PA651"><i>Digital Techniques</i></a>. Technical Publications. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>9788184314014</bdi>.</cite></span>
</li>
<li id="cite_note-Ball_2002-20"><span class="mw-cite-backlink"><b><a href="#cite_ref-Ball_2002_20-0">^</a></b></span> <span class="reference-text">
<cite id="CITEREFBall2002" class="citation book cs1">Ball, Stuart (2002). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=6738mXhY4igC&q=PROM+programmer+12V&pg=PA40"><i>Embedded Microprocessor Systems: Real World Design</i></a>. Elsevier. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>9780080477572</bdi>.</cite></span>
</li>
<li id="cite_note-Choi_2009-21"><span class="mw-cite-backlink"><b><a href="#cite_ref-Choi_2009_21-0">^</a></b></span> <span class="reference-text">
<cite id="CITEREFChoiHanJangKim2009" class="citation journal cs1">Choi, S. J.; Han, J. W.; Jang, M. G.; Kim, J. S.; Kim, K. H.; Lee, G. S.; Oh, J. S.; Song, M. H.; Park, Y. C.; Kim, J. W.; Choi, Y. K. (2009). "High Injection Efficiency and Low-Voltage Programming in a Dopant-Segregated Schottky Barrier (DSSB) FinFET SONOS for nor-type Flash Memory". <i>IEEE Electron Device Letters</i>. <b>30</b> (3): <span class="nowrap">265–</span>268. <a href="Bibcode_(identifier)" class="mw-redirect" title="Bibcode (identifier)">Bibcode</a>:<a rel="nofollow" class="external text" href="https://ui.adsabs.harvard.edu/abs/2009IEDL...30..265C">2009IEDL...30..265C</a>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2FLED.2008.2010720">10.1109/LED.2008.2010720</a>. <a href="ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a> <a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/0741-3106">0741-3106</a>.</cite></span>
</li>
<li id="cite_note-EETIMES_2002-22"><span class="mw-cite-backlink"><b><a href="#cite_ref-EETIMES_2002_22-0">^</a></b></span> <span class="reference-text">
<cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.eetimes.com/document.asp?doc_id=1144961">"Remembering the PROM knights of Intel | EE Times"</a>. <i>EETimes</i>. 2002-07-03.</cite></span>
</li>
<li id="cite_note-DuCastel_2008-23"><span class="mw-cite-backlink"><b><a href="#cite_ref-DuCastel_2008_23-0">^</a></b></span> <span class="reference-text">
<cite id="CITEREFDuCastelJurgensen2008" class="citation book cs1">DuCastel, Bertrand; Jurgensen, Timothy (2008). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=zLh5CIwvTyMC&q=bootstrap+mechanical+switch&pg=PA262"><i>Computer Theology: Intelligent Design of the World Wide Web</i></a>. Midori Press LLC. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>9780980182118</bdi>.</cite></span>
</li>
<li id="cite_note-PDP8-24"><span class="mw-cite-backlink"><b><a href="#cite_ref-PDP8_24-0">^</a></b></span> <span class="reference-text">
<cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://hackaday.com/2017/08/10/getting-started-with-blinking-lights-on-old-iron/">"Getting Started with Blinking Lights on Old Iron"</a>. <i>Hackaday</i>. 10 August 2017.</cite></span>
</li>
<li id="cite_note-Nova3-25"><span class="mw-cite-backlink"><b><a href="#cite_ref-Nova3_25-0">^</a></b></span> <span class="reference-text">
<cite id="CITEREFGooijen" class="citation web cs1">Gooijen, Henk. <a rel="nofollow" class="external text" href="http://www.pdp-11.nl/dg/nova3/nova3.html#system%20console">"NOVA 3 console description"</a>. <i>www.pdp-11.nl</i>.</cite></span>
</li>
<li id="cite_note-Goel_2010-26"><span class="mw-cite-backlink"><b><a href="#cite_ref-Goel_2010_26-0">^</a></b></span> <span class="reference-text">
<cite id="CITEREFGoel2010" class="citation book cs1">Goel, Anita (2010). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=zyOYs2EqZDgC&q=BIOS+bootstrap+EEPROM&pg=PA45"><i>Computer Fundamentals</i></a>. Pearson Education India. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>9788131733097</bdi>.</cite></span>
</li>
</ol></div></div>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<ul><li>Technical information
<ul><li><a rel="nofollow" class="external text" href="https://www.jedec.org/category/technology-focus-area/memory-configurations-jesd21-c">JEDEC - Memory Configurations: JESD21-C</a></li>
<li><a rel="nofollow" class="external text" href="https://www.jedec.org/standards-documents/docs/jesd-6801/">JEDEC - Common Flash Interface (CFI) Specification, JESD68.01, September 2003.</a></li>
<li><a rel="nofollow" class="external text" href="http://www.delorie.com/agenda/specs/29220404.pdf">Intel - Common Flash Interface (CFI) and Command Sets</a></li>
<li><a rel="nofollow" class="external text" href="https://standards.ieee.org/ieee/1532/3366/">IEEE Std 1532-2002 (Revision of IEEE Std 1532-2001) - IEEE Standard for In-System Configuration of Programmable Devices</a></li>
<li><a rel="nofollow" class="external text" href="https://www.keysight.com/main/editorial.jspx?&ckey=2052199">What is the IEEE 1532 Standard? | Keysight Technologies</a></li>
<li><a rel="nofollow" class="external text" href="https://www.jedec.org/document_search/field_keywords/logic-device-programmer-2848">JEDEC - STANDARD DATA TRANSFER FORMAT BETWEEN DATA PREPARATION SYSTEM AND PROGRAMMABLE LOGIC DEVICE PROGRAMMER: JESD3-C, Jun 1994</a></li>
<li><a rel="nofollow" class="external text" href="https://www.jedec.org/committees/jc-42">JEDEC - JC-42 Solid State Memories</a></li></ul></li></ul>
<ul><li>Manufacturers
<ul><li><a rel="nofollow" class="external text" href="https://www.batronix.com/menu/programming_technologies.html">Batronix GmbH & Co. KG</a></li>
<li><a rel="nofollow" class="external text" href="https://bpmmicro.com/programmers/">BPM Microsystems</a></li>
<li><a rel="nofollow" class="external text" href="http://www.conitec.com/">Conitec Datasystems Inc.</a></li>
<li><a rel="nofollow" class="external text" href="http://www.dataio.com/">Data I/O Corporation</a></li>
<li><a rel="nofollow" class="external text" href="https://www.elnec.com/en/">Elnec s.r.o.</a></li>
<li><a rel="nofollow" class="external text" href="https://www.diagprog4.com/">Elprosys Sp. z o.o.</a></li>
<li><a rel="nofollow" class="external text" href="https://www.dediprog.com/">Dediprog</a></li>
<li><a rel="nofollow" class="external text" href="https://www.halec.de/en/products/roloflash/">halec</a></li>
<li><a rel="nofollow" class="external text" href="http://www.hilosystems.com/">Hi-Lo System Research Co. Ltd.</a></li>
<li><a rel="nofollow" class="external text" href="https://www.mcumall.com/">MCUmall Electronics Inc.</a></li>
<li><a rel="nofollow" class="external text" href="https://www.minato.co.jp/en/">Minato Holdings Inc.</a></li>
<li><a rel="nofollow" class="external text" href="https://phyton.com/">Phyton, Inc.</a></li>
<li><a rel="nofollow" class="external text" href="https://www.xeltek.com/">Xeltek Inc.</a></li></ul></li></ul>
<style data-mw-deduplicate="TemplateStyles:r1290876196">
/* start https://en.wikipedia.org/ */
.mw-parser-output .side-box{margin:4px 0;box-sizing:border-box;border:1px solid #aaa;font-size:88%;line-height:1.25em;background-color:var(--background-color-interactive-subtle,#f8f9fa);display:flow-root}.mw-parser-output .infobox .side-box{font-size:100%}.mw-parser-output .side-box-abovebelow,.mw-parser-output .side-box-text{padding:0.25em 0.9em}.mw-parser-output .side-box-image{padding:2px 0 2px 0.9em;text-align:center}.mw-parser-output .side-box-imageright{padding:2px 0.9em 2px 0;text-align:center}@media(min-width:500px){.mw-parser-output .side-box-flex{display:flex;align-items:center}.mw-parser-output .side-box-text{flex:1;min-width:0}}@media(min-width:720px){.mw-parser-output .side-box{width:238px}.mw-parser-output .side-box-right{clear:right;float:right;margin-left:1em}.mw-parser-output .side-box-left{margin-right:1em}}
/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1237033735">
/* start https://en.wikipedia.org/ */
@media print{body.ns-0 .mw-parser-output .sistersitebox{display:none!important}}@media screen{html.skin-theme-clientpref-night .mw-parser-output .sistersitebox img[src*="Wiktionary-logo-en-v2.svg"]{background-color:white}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .sistersitebox img[src*="Wiktionary-logo-en-v2.svg"]{background-color:white}}
/* end https://en.wikipedia.org/ */
</style><div class="side-box side-box-right sistersitebox"><style data-mw-deduplicate="TemplateStyles:r1126788409">
/* start https://en.wikipedia.org/ */
.mw-parser-output .plainlist ol,.mw-parser-output .plainlist ul{line-height:inherit;list-style:none;margin:0;padding:0}.mw-parser-output .plainlist ol li,.mw-parser-output .plainlist ul li{margin-bottom:0}
/* end https://en.wikipedia.org/ */
</style>
<div class="side-box-flex">
<div class="side-box-image"><span class="noviewer" typeof="mw:File"></span></div>
<div class="side-box-text plainlist">Wikimedia Commons has media related to <span style="font-weight: bold; font-style: italic;"><a href="https://commons.wikimedia.org/wiki/Category:Device_programmers" class="extiw external" title="commons:Category:Device programmers">Device programmers</a></span>.</div></div>
</div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-01-13" href="https://en.wikipedia.org/wiki/?title=Programmer_(hardware)&oldid=1269235357">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
</body></html>